def calculator():
    while True:
        try:
            #提示用户输入第一个数字
            num1 = float(input("请输入第一个数字："))

            #提示用户输入操作符
            operator = input("请输入操作符（+ - * /）: ")
            if operator not in ['+','-','*','/']:
                print("无效的操作符，请输入+，-，*，或 /")
                continue

            #提示用户输入第二个数字
            num2 = float(input("请输入第二个数字："))

            #计算结果
            if operator == '+':
                result = num1 +num2
            elif operator == '-':
                result = num1 - num2
            elif operator == '*':
                result = num1 * num2
            elif operator == '/':
                if num2 != 0:
                    result = num1 / num2
                else: 
                    print("除数不能为零")
                    continue

            #打印计算结果
            print(f"计算结果：{num1} {operator} {num2} {result}")

        except ValueError:
            print("输入的不是有效的数字，请重新输入")


        #提示用户是否继续
        cont = input("是否继续计算？(y/n): ")
        if cont.lower() != 'y':
            print("计算器已退出。")
            break

if __name__ == "__main__":
    calculator()
